package cn.tedu.generic;
/**本类用于测试泛型的优点2*/
public class TestGeneric2 {
    public static void main(String[] args) {
        Integer[] a = {1,2,3,4,5,6,7,8,9,10};
        String[] b = {"大哥","二哥","三哥","四哥","五哥","六哥","小弟"};
        Double[] c = {6.0,6.6,6.66,6.666,6.6666};
        print(a);
        print(b);
        print(c);
    }
    /**1.泛型可以实现通用代码的编写，使用E表示元素的类型是Element类型
     * 2.泛型的语法要求:如果在方法上使用浮点型，必须两处同时出现
     * 一个是传入的参数，另一个是方法返回值类型前的泛型类型，表示这是一个泛型方法*/
    private static <E> void print(E[] e) {
        for(E ff:e){
            System.out.println(ff);
        }
    }

//    private static void print(Integer[] a) {
////        for (int i = 0; i <a.length ; i++) {
////            System.out.println(a[i]);
//        for (Integer s1:a){
//            System.out.println(s1);
//        }
//    }
//    private static void print(String[] b) {
//        /**高效for循环/foreach循环
//         * 语法:for(1 2 :3){循环体}
//         * 3代表的是你要遍历的主体，1是每轮遍历到的元素的类型，2是遍历到的元素的名字
//         * 好处:比普通for循环写法简便，效率也比较高
//         * 坏处:没有办法按照下标来操作值,只能从头到尾依次遍历所有数据*/
//        for (String s: b){
//            System.out.println(s);
//        }
//    }
//    private static void print(Double[] c) {
//        for (Double s2 :c){
//            System.out.println(c);
//        }
//    }
}
